1. Field of the Invention
This invention is related to the field of compression, and particularly compression for images.
2. Description of the Related Art
Visual images captured and/or displayed by an electronic device are often characterized by a significant memory footprint (i.e. the amount of memory consumed to store data representing the image). As the resolution of the images increases, the memory footprint of the image increases. Various electronic devices are expected to be capable of processing such images. For example, mobile electronic devices such as mobile telephones and personal digital assistants are often equipped with cameras to take still photographs, or even video. While current image capture sensors included in such devices are capable of about 2-4 megapixels, the sensors included in newer phones will continue to increase in resolution. Additionally, such devices are being equipped with higher resolution screens, and thus the footprint of images for display also increases. Such devices may also be designed to output high resolution images/video to an external device, and the footprint of the high resolution images is large.
While the size of memory in such devices is also increasing over time, the size of the memory is not increasing at the same rate as the image size. Additionally, such devices are increasingly providing significant functionality for other purposes. For example, smart phones are beginning to provide multi-threaded processing to support multiple applications executing on the phone concurrently. Each application consumes memory for the code being executed and the data being operated upon, which places further pressure on the memory capacity. Furthermore, the applications compete for access to the memory (e.g. bandwidth), which pressures the interconnect between the memory and the memory controller, and between the memory controller and the other devices in the system such as the processors, graphics devices, display controllers, etc.
Images can be transmitted and stored in compressed form. However, during image capture and display, the time and hardware required to compress and decompress images is often prohibitive. For example, a typical JPEG or H.254 frame may require about 50 clock cycles per pixel and substantial hardware.
Another form of compression includes one or more passes of a wavelet transform on the data. There are a variety of wavelet transforms, and typically multiple passes are used to obtain a desired amount of compression. When implemented in hardware, the designer determines the math that needs to performed in the multiple passes and implements the hardware to perform all of the passes at the same time, in parallel. The implementation can consume significant integrated circuit area, and can be complex and error prone.